﻿Imports log4net

Partial Class Estudinte_ListaEstudiante
    Inherits System.Web.UI.Page

    Dim log As ILog = LogManager.GetLogger("LogFile")

    Public Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load

        PanelMensajeOk.Visible = False
        PanelMensajeError.Visible = False
        If Not IsPostBack Then
            If Not Session("TipoMensaje") Is Nothing And Not String.IsNullOrEmpty(Session("TipoMensaje")) Then
                Dim msg As Boolean = False
                Try
                    msg = Convert.ToBoolean(Session("TipoMensaje"))
                Catch ex As Exception
                    log.Error("No se pudo leer la variable de session", ex)
                End Try

                If msg = True Then
                    TextoMensajeOkLiteral.Text = "Los datos del estudiante se guardaron correctamente."
                    PanelMensajeOk.Visible = True
                End If
                Session("TipoMensaje") = Nothing
            End If
        End If

    End Sub


    Protected Sub SearchLinkButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SearchLinkButton.Click

    End Sub

    Protected Sub EstudiantesObjectDataSource_Selected(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ObjectDataSourceStatusEventArgs) Handles EstudiantesObjectDataSource.Selected
        If Not e.Exception Is Nothing Then
            log.Error("No se pudo obtener las Estudiantes", e.Exception)
            e.ExceptionHandled = True
        End If
    End Sub

    Protected Sub EstudianteGridView_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles EstudianteGridView.RowCommand

        If e.CommandName.Equals("Editar") Then
            Session("EstudianteId") = e.CommandArgument
            Response.Redirect("FormularioEstudiante.aspx")
        End If

        If e.CommandName.Equals("Eliminar") Then

            Dim crn As EstudianteCRN = New EstudianteCRN()

            Dim estudianteId As Integer = 0
            Try
                estudianteId = Convert.ToInt32(e.CommandArgument)
            Catch ex As Exception
                log.Error("No se pudo obtener el id del estudiante del argumento del comando", ex)
            End Try

            Try
                crn.EliminarEstudiante(estudianteId)
            Catch ex As Exception
                log.Error("No se pudo eliminar el estudiante", ex)
                MensageError.Text = "No se pudo eliminar el estudiante seleccionado"
                PanelMensajeError.Visible = True
                Return
            End Try

            TextoMensajeOkLiteral.Text = "El estudiante se elimino correctamente"
            PanelMensajeOk.Visible = True
            EstudianteGridView.DataBind()
        End If

    End Sub
End Class
